package com.bh.fee.domain;

import com.baomidou.mybatisplus.annotation.TableName;
import com.bh.common.annotation.Excel;
import com.bh.common.core.domain.BaseEntity;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 费用传递对象 jc_fee_seed
 * 
 * @author slx
 * @date 2023-05-21
 */
@EqualsAndHashCode(callSuper = true)
@TableName("jc_fee_seed")
@Data
public class JcFeeSeed extends BaseEntity
{
    

    /**  */
    private Long id;

    /**  */
    
    private String code;

    /**  */
    
    private String createName;

    /**  */
    
    private String description;

    /**  */
    
    private String modifyName;

    /**  */
    @JsonFormat(timezone="GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    private Date modifyTime;

    /**  */
    
    private String name;

    /**  */
    
    private Long status;

    /** 金额 */
    @Excel(name = "金额")
    private BigDecimal amount;

    /** 确认状态 */
    @Excel(name = "确认状态")
    private Long confirmStatus;

    /** 费用标识(0：收1：付) */
    @Excel(name = "费用标识(0：收1：付)")
    private Long feeSign;

    /** 税金 */
    @Excel(name = "税金")
    private BigDecimal input;

    /** 税率 */
    @Excel(name = "税率")
    private Long taxRate;

    /** 日期 */
    @JsonFormat(timezone="GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date time;

    /** 费用类型 */
    @Excel(name = "费用类型")
    private Long jcFeeTypeId;

    /** 组织机构ID */
    @Excel(name = "组织机构ID")
    private Long jcOrganizationId;

    /** 接收机构ID */
    @Excel(name = "接收机构ID")
    private String jcReceiveOrganizationId;

    /** 发起机构ID */
    @Excel(name = "发起机构ID")
    private String jcStartOrganizationId;



    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("code", getCode())
            .append("createName", getCreateName())
            .append("createTime", getCreateTime())
            .append("description", getDescription())
           
            .append("modifyName", getModifyName())
            .append("modifyTime", getModifyTime())
            .append("name", getName())
            .append("status", getStatus())
            .append("amount", getAmount())
            .append("confirmStatus", getConfirmStatus())
            .append("feeSign", getFeeSign())
            .append("input", getInput())
            .append("taxRate", getTaxRate())
            .append("time", getTime())
            .append("jcFeeTypeId", getJcFeeTypeId())
            .append("jcOrganizationId", getJcOrganizationId())
            .append("jcReceiveOrganizationId", getJcReceiveOrganizationId())
            .append("jcStartOrganizationId", getJcStartOrganizationId())
            .toString();
    }
}
